package org.rcgwt.client.ui.grid.internal;

import org.rcgwt.client.ui.grid.event.IModelChangeState;
import org.rcgwt.client.ui.grid.internal.model.IElementModel;

/**
 * Basic implementation for {@link IElementModel} Don't instanciante this class
 * 
 * @author Matthieu ROBERT
 * 
 */
public class ModelChangeState implements IModelChangeState {

    private final ChangeStateType type;

    private final int start;

    private final int count;

    private final int deltaCount;

    public ModelChangeState(int start, int count, int deltaCount,
            ChangeStateType type) {
        this.start = start;
        this.count = count;
        this.type = type;
        this.deltaCount = deltaCount;
    }

    @Override
    public int getStart() {
        return start;
    }

    @Override
    public int getCount() {
        return count;
    }

    @Override
    public ChangeStateType getType() {
        return type;
    }

    @Override
    public int getDeltaCount() {
        return deltaCount;
    }

}
